package com.ellison.demo.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
    * 申请
 * @author Ellison Pei
 */
@Data
public class WorkDoc {
    /**
    * 申请ID
    */
    private Long id;

    /**
    * 工厂
    */
    private String factory;

    /**
    * 申请编码
    */
    private String workDocCode;

    /**
    * 相关单据ID
    */
    private Long relatedBillId;

    /**
    * 相关单据编码
    */
    private String relatedBillCode;

    /**
    * 物流单号
    */
    private String logisticsOrderNo;

    /**
    * 承运商
    */
    private String carrier;

    /**
    * 京东单据编码
    */
    private String jdBillCode;

    /**
    * 服务单号
    */
    private String serviceNo;

    /**
    * 服务商
    */
    private String serviceProvider;

    /**
    * 物料凭证号
    */
    private String materialDocumentCode;

    /**
    * 申请数量
    */
    private BigDecimal allocatedQuantity;

    /**
    * 实际作业数量
    */
    private BigDecimal movedQuantity;

    /**
    * 客户ID
    */
    private Long customerId;

    /**
    * 客户编码
    */
    private String customerCode;

    /**
    * 客户名称
    */
    private String customerName;

    /**
    * 客户收货城市
    */
    private String city;

    private String shopAddress;

    private String shopName;

    /**
    * 联系人
    */
    private String shopContact;

    /**
    * 联系电话
    */
    private String shopMobile;

    /**
    * 供应商ID
    */
    private Long suppId;

    /**
    * 供应商编码
    */
    private String suppCode;

    /**
    * 供应商名称
    */
    private String suppName;

    /**
    * 实物存储地
    */
    private String storagePlace;

    /**
    * 申请类型ID
    */
    private Long billTypeId;

    /**
    * 申请类型编码
    */
    private String billTypeCode;

    /**
    * 申请类型名称
    */
    private String billTypeName;

    /**
    * 标题
    */
    private String title;

    /**
    * 备注
    */
    private String remark;

    /**
    * 实物处理人
    */
    private String workerName;

    /**
    * 实物处理完成时间
    */
    private Date workTime;

    /**
    * 签收/清关时间
    */
    private Date checkTime;

    /**
    * 创建部门
    */
    private String crtDepartment;

    /**
    * 部门名称
    */
    private String crtDepartmentName;

    /**
    * 状态
10，打开；20，指令创建；30，实物处理中；40，实物处理完成；41，发起验收；50，验收完成；60，待过账；70，ERP过账完成；80，驳回；90，过账中；100，取消
    */
    private String status;

    /**
    * 是否可人工过账
    */
    private String isPost;

    /**
    * 物流发货日期
    */
    private Date shipmentTime;

    /**
    * 预计到货日期
    */
    private Date estimatedArrivalTime;

    /**
    * 门店订单编码
    */
    private String shopOrderCode;

    /**
    * 扩展字段1
    */
    private String attr1;

    /**
    * 扩展字段2
    */
    private String attr2;

    /**
    * 扩展字段3
    */
    private String attr3;

    /**
    * 扩展字段4
    */
    private String attr4;

    /**
    * 扩展字段5
    */
    private String attr5;

    /**
    * 扩展字段6
    */
    private String attr6;

    /**
    * 扩展字段7
    */
    private String attr7;

    /**
    * 扩展字段8
    */
    private String attr8;

    /**
    * 激活标识
    */
    private String isActive;

    /**
    * 乐观锁标识
    */
    private Integer version;

    /**
    * 租户Id
    */
    private String tenantId;

    /**
    * 创建人
    */
    private String crtUserName;

    /**
    * 创建人ID
    */
    private String crtUserId;

    /**
    * 创建时间
    */
    private Date crtTime;

    /**
    * 最后更新人
    */
    private String updUserName;

    /**
    * 最后更新人ID
    */
    private String updUserId;

    /**
    * 最后更新时间
    */
    private Date updTime;

    /**
    * 10 仓配+电子返单,20 仓配+纸质电子双返单,30 第三方物流
    */
    private String receiptType;

    /**
    * ERP SO号
    */
    private String soCode;

    /**
    * 签收时间
    */
    private Date signInTime;

    private BigDecimal insuredValue;

    @Transient
    @TableField(exist = false)
    private List<WorkDocDtl> docDtlList;
}